/*
 * tokenGetter.h
 *
 *  Created on: Apr 25, 2014
 *      Author: Hercules
 */

#ifndef TOKENGETTER_H_
#define TOKENGETTER_H_

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

typedef enum {
	LABEL, NUMBER, INSTRUCTION, DIRECTIVE, UNKNOWN
} TokenType;
typedef enum {
	false, true
} bool;
typedef struct {
	char token_string[101];
	char token_delimiter;
	TokenType token_type;
	bool is_valid;
} Token;
typedef struct tokenList {
	Token *token;
	struct tokenList *next;
	struct tokenList *last;
} TokenList;
Token* getNextToken(FILE *, Token*);
TokenList* getTokenList(FILE*);
bool isANumber(char);
bool isValidCaracter(char);
void ignoreComment(FILE*);
char * strToUpper(char *str);
#endif /* TOKENGETTER_H_ */
